<?xml version="1.0" encoding="utf-8"?>
<Content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:blueonionsoftware-com:bloget:runtime:data">
  <text>This article describes an implementation that creates a seamless integration of a .NET form as a child window a native Win32 window.

.NET forms inherently construct themselves as parent Frame windows. They can be configured as MDI Child Windows, in which case another .NET form must be specified as the MDI parent. But what if you need to host a .NET form seamlessly as a nested child window in a Win32 window composition hierarchy? This isn't directly addressed by .NET. 

But it turns out it can be done pretty easily with the right hooks put in the right places.

&lt;strong&gt;[Window Styles]&lt;/strong&gt;
The way the MS Windows platform treats a â€˜windowâ€™ with respect to other â€˜windowsâ€™ has much to do with the windowâ€™s Style bit mask, and the parent HWND property. While there are several style overrides predefined by the .NET framework, configuring a .NET form with the WS_CHILD style is not supported intrinsically. 

&lt;strong&gt;[Why do we care about Window Styles]&lt;/strong&gt;
A .NET form can be 'floated' into position so that it appears to be a child of a Win32 window, using the Form's Location and Size properties, and setting the FormBorderStyle to FormBorderStyle.None.  But lacking the ability to set the WS_CHILD style to solidify a forms behavioral role, the .NET Form ends up behaving with all sorts annoying characteristics, such as creating confusing focus behavior, causing a Win32 window â€˜parentâ€™ window to appear to lose focus when the .NET form is clicked on for input; failing to minimize with the parent; failing to move in position when the parent Win32 window is moved, etc.

&lt;strong&gt;[What do we need to do?]&lt;/strong&gt;
To allow the .NET System.Windows.Forms.Form based Form to behave as a child of an unmanaged Win32 window, we need to do two things. 
&lt;ol&gt;
	&lt;li&gt;specify the Win32 window handle of the true native Win32 window as the parent of the â€˜childâ€™ form. &lt;/li&gt;
	&lt;li&gt;the window style bits of the .NET form must be overridden to set the WS_CHILD bit.&lt;/li&gt;
&lt;/ol&gt;

We can satisfy both of these requirments using a combination of platform invoke calls (p/invoke) and Form event overrides.

&lt;strong&gt;[c++ code]&lt;/strong&gt;
To set a native HWND as a 'Parent' of a .NET Form, the HWND of our component container is wrapped in a simple implementation of IWin32Window. We already know this, I just mention it for completeness.

&lt;code&gt;/////////////////////////////////////////////////////////////////////////&lt;br /&gt;
//&lt;br /&gt;
// CLASS:&lt;br /&gt;
//  Win32WindowWrapper&lt;br /&gt;
//&lt;br /&gt;
// DESCRIPTION:&lt;br /&gt;
//  Wraps the win32 HWND and provides an interface that satisfies .NET&lt;br /&gt;
//  when its trying to think of window HWND as a IntPtr&lt;br /&gt;
//&lt;br /&gt;
public ref class Win32WindowWrapper&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: public System::Windows::Forms::IWin32Window&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const HWND m_hWnd;&lt;br /&gt;
public:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Win32WindowWrapper (HWND hWnd) : m_hWnd(hWnd){}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property System::IntPtr Handle&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;virtual System::IntPtr get()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return static_cast&amp;lt;System::IntPtr&amp;gt;(m_hWnd);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
};&lt;/code&gt;

&lt;strong&gt;[Bridging layer]&lt;/strong&gt;
Based on standard IJW (It Just Works) bridging techniques to encapsulate unmanaged / managed composition (not shown here), the following brief code just shows how the HWND parent handle can be assigned to the Form - this code is place in a managed c++ method, and assumes the .NET form has already been instantiated:
&lt;code&gt;
// managed c++ wants to establish a parenting relationship over the Form - very simplified
mNativeChildFormImpl = gcnew NativeChildFormExample::NativeChildForm();
mNativeChildFormImpl-&gt;Initialize();
Win32WindowWrapper^ windowInterface = gcnew Win32WindowWrapper(_mHwndOwner);
mNativeChildFormImpl-&gt;Parent = windowInterface-&gt;Handle;
&lt;/code&gt;

&lt;strong&gt;[Managed code and .NET form implementation]&lt;/strong&gt;
On the .NET Form side, we need to provide an implementation to set the Parent handle and to set the WS_CHILD style bit for our Form. The following code shoud be self explanatory. It would normally be contained in a couple files, but I put it all together here in one namespace to simplify this post. 

&lt;code&gt;using&amp;nbsp;System;
using&amp;nbsp;System.Collections.Generic;
using&amp;nbsp;System.ComponentModel;
using&amp;nbsp;System.Data;
using&amp;nbsp;System.Drawing;
using&amp;nbsp;System.Text;
using&amp;nbsp;System.Windows.Forms;
using&amp;nbsp;System.Runtime.InteropServices;


namespace&amp;nbsp;NativeChildFormExample
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;partial&amp;nbsp;class&amp;nbsp;NativeChildForm&amp;nbsp;:&amp;nbsp;Form
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
#region&amp;nbsp;InteropImports

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[DllImport("user32.dll")]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static&amp;nbsp;extern&amp;nbsp;IntPtr&amp;nbsp;SetParent(IntPtr&amp;nbsp;hWndChild,&amp;nbsp;IntPtr&amp;nbsp;hWndNewParent);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[DllImport("user32.dll",&amp;nbsp;ExactSpelling&amp;nbsp;=&amp;nbsp;true,&amp;nbsp;CharSet&amp;nbsp;=&amp;nbsp;CharSet.Auto)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;extern&amp;nbsp;IntPtr&amp;nbsp;GetParent(IntPtr&amp;nbsp;hWnd);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[DllImport("user32.dll",&amp;nbsp;SetLastError&amp;nbsp;=&amp;nbsp;true)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;extern&amp;nbsp;int&amp;nbsp;SetWindowLong(IntPtr&amp;nbsp;hWnd,&amp;nbsp;int&amp;nbsp;nIndex,&amp;nbsp;int&amp;nbsp;dwNewLong);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[DllImport("user32.dll",&amp;nbsp;SetLastError&amp;nbsp;=&amp;nbsp;true)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;extern&amp;nbsp;int&amp;nbsp;GetWindowLong(IntPtr&amp;nbsp;hWnd,&amp;nbsp;int&amp;nbsp;nIndex);

#endregion&amp;nbsp;InteropImports

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;IntPtr&amp;nbsp;_parentHwnd&amp;nbsp;=&amp;nbsp;IntPtr.Zero;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;new&amp;nbsp;IntPtr&amp;nbsp;Parent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get&amp;nbsp;{&amp;nbsp;return&amp;nbsp;GetParent(Handle);&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;{&amp;nbsp;_parentHwnd&amp;nbsp;=&amp;nbsp;value;&amp;nbsp;SetParent(Handle,&amp;nbsp;_parentHwnd);&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;NativeChildForm()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;not&amp;nbsp;shown&amp;nbsp;for&amp;nbsp;simplicity&amp;nbsp;is&amp;nbsp;the&amp;nbsp;un-subscribe&amp;nbsp;that&amp;nbsp;occurs&amp;nbsp;during&amp;nbsp;Dispose&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.StyleChanged&amp;nbsp;+=&amp;nbsp;new&amp;nbsp;System.EventHandler(this.NativeChildForm_StyleChanged);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void&amp;nbsp;NativeChildForm_StyleChanged(object&amp;nbsp;sender,&amp;nbsp;System.EventArgs&amp;nbsp;e)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetOurChildStyle(Handle);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected&amp;nbsp;void&amp;nbsp;SetOurChildStyle(IntPtr&amp;nbsp;Handle)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uint&amp;nbsp;Style&amp;nbsp;=&amp;nbsp;(uint)&amp;nbsp;GetWindowLong(Handle,&amp;nbsp;GetWindowLongStyles.GWL_STYLE);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;turn&amp;nbsp;off&amp;nbsp;styles&amp;nbsp;we&amp;nbsp;know&amp;nbsp;we&amp;nbsp;don't&amp;nbsp;want&amp;nbsp;present
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;((Style&amp;nbsp;&amp;&amp;nbsp;WindowStyles.WS_POPUP)&amp;nbsp;==&amp;nbsp;WindowStyles.WS_POPUP)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Style&amp;nbsp;^=&amp;nbsp;WindowStyles.WS_POPUP;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;((Style&amp;nbsp;&amp;&amp;nbsp;WindowStyles.WS_BORDER)&amp;nbsp;==&amp;nbsp;WindowStyles.WS_BORDER)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Style&amp;nbsp;^=&amp;nbsp;WindowStyles.WS_BORDER;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;((Style&amp;nbsp;&amp;&amp;nbsp;WindowStyles.WS_SYSMENU)&amp;nbsp;==&amp;nbsp;WindowStyles.WS_SYSMENU)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Style&amp;nbsp;^=&amp;nbsp;WindowStyles.WS_SYSMENU;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;turn&amp;nbsp;on&amp;nbsp;the&amp;nbsp;WS_CHILD&amp;nbsp;style
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;((Style&amp;nbsp;&amp;&amp;nbsp;WindowStyles.WS_CHILD)&amp;nbsp;!=&amp;nbsp;WindowStyles.WS_CHILD)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Style&amp;nbsp;^=&amp;nbsp;WindowStyles.WS_CHILD;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetWindowLong(Handle,&amp;nbsp;GetWindowLongStyles.GWL_STYLE,&amp;nbsp;(int)Style);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;abstract&amp;nbsp;class&amp;nbsp;GetWindowLongStyles
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_WNDPROC&amp;nbsp;=&amp;nbsp;(-4);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_HINSTANCE&amp;nbsp;=&amp;nbsp;(-6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_HWNDPARENT&amp;nbsp;=&amp;nbsp;(-8);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_STYLE&amp;nbsp;=&amp;nbsp;(-16);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_EXSTYLE&amp;nbsp;=&amp;nbsp;(-20);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_USERDATA&amp;nbsp;=&amp;nbsp;(-21);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;int&amp;nbsp;GWL_ID&amp;nbsp;=&amp;nbsp;(-12);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;abstract&amp;nbsp;class&amp;nbsp;WindowStyles
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_OVERLAPPED&amp;nbsp;=&amp;nbsp;0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_POPUP&amp;nbsp;=&amp;nbsp;0x80000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_CHILD&amp;nbsp;=&amp;nbsp;0x40000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_MINIMIZE&amp;nbsp;=&amp;nbsp;0x20000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_VISIBLE&amp;nbsp;=&amp;nbsp;0x10000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_DISABLED&amp;nbsp;=&amp;nbsp;0x08000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_CLIPSIBLINGS&amp;nbsp;=&amp;nbsp;0x04000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_CLIPCHILDREN&amp;nbsp;=&amp;nbsp;0x02000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_MAXIMIZE&amp;nbsp;=&amp;nbsp;0x01000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_CAPTION&amp;nbsp;=&amp;nbsp;0x00C00000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;WS_BORDER&amp;nbsp;|&amp;nbsp;WS_DLGFRAME&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_BORDER&amp;nbsp;=&amp;nbsp;0x00800000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_DLGFRAME&amp;nbsp;=&amp;nbsp;0x00400000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_VSCROLL&amp;nbsp;=&amp;nbsp;0x00200000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_HSCROLL&amp;nbsp;=&amp;nbsp;0x00100000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_SYSMENU&amp;nbsp;=&amp;nbsp;0x00080000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_THICKFRAME&amp;nbsp;=&amp;nbsp;0x00040000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_GROUP&amp;nbsp;=&amp;nbsp;0x00020000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_TABSTOP&amp;nbsp;=&amp;nbsp;0x00010000;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_MINIMIZEBOX&amp;nbsp;=&amp;nbsp;0x00020000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_MAXIMIZEBOX&amp;nbsp;=&amp;nbsp;0x00010000;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_TILED&amp;nbsp;=&amp;nbsp;WS_OVERLAPPED;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_ICONIC&amp;nbsp;=&amp;nbsp;WS_MINIMIZE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_SIZEBOX&amp;nbsp;=&amp;nbsp;WS_THICKFRAME;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_TILEDWINDOW&amp;nbsp;=&amp;nbsp;WS_OVERLAPPEDWINDOW;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Common&amp;nbsp;Window&amp;nbsp;Styles

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_OVERLAPPEDWINDOW&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(WS_OVERLAPPED&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_CAPTION&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_SYSMENU&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_THICKFRAME&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_MINIMIZEBOX&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_MAXIMIZEBOX);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_POPUPWINDOW&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(WS_POPUP&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_BORDER&amp;nbsp;|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS_SYSMENU);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_CHILDWINDOW&amp;nbsp;=&amp;nbsp;WS_CHILD;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Extended&amp;nbsp;Window&amp;nbsp;Styles

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_DLGMODALFRAME&amp;nbsp;=&amp;nbsp;0x00000001;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_NOPARENTNOTIFY&amp;nbsp;=&amp;nbsp;0x00000004;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_TOPMOST&amp;nbsp;=&amp;nbsp;0x00000008;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_ACCEPTFILES&amp;nbsp;=&amp;nbsp;0x00000010;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_TRANSPARENT&amp;nbsp;=&amp;nbsp;0x00000020;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#if(WINVER&amp;nbsp;&gt;=&amp;nbsp;0x0400)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_MDICHILD&amp;nbsp;=&amp;nbsp;0x00000040;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_TOOLWINDOW&amp;nbsp;=&amp;nbsp;0x00000080;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_WINDOWEDGE&amp;nbsp;=&amp;nbsp;0x00000100;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_CLIENTEDGE&amp;nbsp;=&amp;nbsp;0x00000200;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_CONTEXTHELP&amp;nbsp;=&amp;nbsp;0x00000400;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_RIGHT&amp;nbsp;=&amp;nbsp;0x00001000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_LEFT&amp;nbsp;=&amp;nbsp;0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_RTLREADING&amp;nbsp;=&amp;nbsp;0x00002000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_LTRREADING&amp;nbsp;=&amp;nbsp;0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_LEFTSCROLLBAR&amp;nbsp;=&amp;nbsp;0x00004000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_RIGHTSCROLLBAR&amp;nbsp;=&amp;nbsp;0x00000000;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_CONTROLPARENT&amp;nbsp;=&amp;nbsp;0x00010000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_STATICEDGE&amp;nbsp;=&amp;nbsp;0x00020000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_APPWINDOW&amp;nbsp;=&amp;nbsp;0x00040000;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_OVERLAPPEDWINDOW&amp;nbsp;=&amp;nbsp;(WS_EX_WINDOWEDGE&amp;nbsp;|&amp;nbsp;WS_EX_CLIENTEDGE);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_PALETTEWINDOW&amp;nbsp;=&amp;nbsp;(WS_EX_WINDOWEDGE&amp;nbsp;|&amp;nbsp;WS_EX_TOOLWINDOW&amp;nbsp;|&amp;nbsp;WS_EX_TOPMOST);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#endif&amp;nbsp;/*&amp;nbsp;WINVER&amp;nbsp;&gt;=&amp;nbsp;0x0400&amp;nbsp;*/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#if(_WIN32_WINNT&amp;nbsp;&gt;=&amp;nbsp;0x0500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_LAYERED&amp;nbsp;=&amp;nbsp;0x00080000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#endif&amp;nbsp;/*&amp;nbsp;_WIN32_WINNT&amp;nbsp;&gt;=&amp;nbsp;0x0500&amp;nbsp;*/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#if(WINVER&amp;nbsp;&gt;=&amp;nbsp;0x0500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_NOINHERITLAYOUT&amp;nbsp;=&amp;nbsp;0x00100000;&amp;nbsp;//&amp;nbsp;Disable&amp;nbsp;inheritence&amp;nbsp;of&amp;nbsp;mirroring&amp;nbsp;by&amp;nbsp;children
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_LAYOUTRTL&amp;nbsp;=&amp;nbsp;0x00400000;&amp;nbsp;//&amp;nbsp;Right&amp;nbsp;to&amp;nbsp;left&amp;nbsp;mirroring
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#endif&amp;nbsp;/*&amp;nbsp;WINVER&amp;nbsp;&gt;=&amp;nbsp;0x0500&amp;nbsp;*/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#if(_WIN32_WINNT&amp;nbsp;&gt;=&amp;nbsp;0x0500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_COMPOSITED&amp;nbsp;=&amp;nbsp;0x02000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;const&amp;nbsp;uint&amp;nbsp;WS_EX_NOACTIVATE&amp;nbsp;=&amp;nbsp;0x08000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//#endif&amp;nbsp;/*&amp;nbsp;_WIN32_WINNT&amp;nbsp;&gt;=&amp;nbsp;0x0500&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};

};
&lt;/code&gt;</text>
  <last_update>2007-10-04T00:52:37.1200806Z</last_update>
  <source_title />
  <source_link />
  <comments />
  <references />
  <attachments />
</Content>